بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
قفل گوشی با دریافت اس ام اس؟؟
سلام من یک کلاس مثل استاد طراحی کردم میخام بگم وقتی پیامی با محتوای LOCK برای گوشی اومد گوشی قفل بشه میشه راهنمایی کنید حداقل بصورت اجمالی هم که شده راهنمایی بفرمایید که از کرام سرویس آندروید استفاده کنم برای قفل؟؟
public class SmsRecive extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[0]);
String senderTel = sms.getOriginatingAddress();
String messageBody = sms.getMessageBody();
0
0
چک کردن متن پیام اسونه ولی واسه قفل کردن برنامه شما باید دسترسی DeviceAdmin رو داشته باشه و یه سری کارا انجام بدید سرچ گنید اگه نتونستید سعی میکنم یه سری کد واسه سر نخ واستون قرار بدم (11 سال پیش)
0
0
ممنونم برای قفل از DevicePolice باید استفاده بشه فقط نمیدونم چجوری باید از DeviceAdmin استفاده کنم (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
ajn91
11 سال پیش
+1
0
میتونید از این اموزش استفاده کنید
این کلاس رو تعریف کنید
public class LockScreenAdmin extends DeviceAdminReceiver {
public static class ActivityLock extends Activity {
static final int ADMIN_INTENT = 1;
ComponentName lockScreenAdmin;
DevicePolicyManager devicePolicyManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnLock = (Button) findViewById(R.id.btnLock);
btnLock.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
devicePolicyManager = (DevicePolicyManager) getSystemService("device_policy");
lockScreenAdmin = new ComponentName(ActivityLock.this, LockScreenAdmin.class);
if (devicePolicyManager.isAdminActive(lockScreenAdmin)) {
devicePolicyManager.lockNow();
} else {
Intent intentLock = new Intent("android.app.action.ADD_DEVICE_ADMIN");
intentLock.putExtra("android.app.extra.DEVICE_ADMIN", lockScreenAdmin);
intentLock.putExtra("android.app.extra.ADD_EXPLANATION", "Allow admin permissions to enable screen lock at first run.");
startActivityForResult(intentLock, ADMIN_INTENT);
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ADMIN_INTENT) {
if (resultCode == RESULT_OK) {
Toast.makeText(getApplicationContext(), "Registered As Admin", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Failed to register as Admin", Toast.LENGTH_SHORT).show();
}
}
}
}
}
در res پوشه xml رو اضافه کنید و یک فایل xml با محتویات زیر و نام دلخواه ایجاد کنید برای این نمونه my_admin.xml انتخاب شده
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
</uses-policies>
</device-admin>
این کد رو به AndroidManifest اضافه کنید
<activity
android:name=".LockScreenAdmin$ActivityLock"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".LockScreenAdmin"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/my_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
تمام الان با کلیک روی باتن میتونید صفحه رو قفل کنید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .