آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

قفل گوشی با دریافت اس ام اس؟؟

یگانه  11 سال پیش  11 سال پیش
0 0

سلام من یک کلاس مثل استاد طراحی کردم میخام بگم وقتی پیامی با محتوای 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>

تمام الان با کلیک روی باتن میتونید صفحه رو قفل کنید

0 0
خیلی ممنون (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .