رفتن به مطلب
  • 0

تشخیص باز شدن بخشی خاص از تنظیمات گوشی


mehran901

سوال

سلام دوستان چطور میشه مثلا وقتی تنظیمات گوشی یا بخش وای فای یا مثلا بخش سکوریتی که باز شد توسط برناممون متوجه بشیم ؟

تشکر

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

17 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

خسته نباشید

شما استاد ما هستین

عارضم خدمتتون که تست کردم متاسفانه نمیدونم چرا متاسفانه

Sub Service_Start (StartingIntent As Intent)
   Broadcast.addAction(""android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
   Broadcast.registerReceiver("")
End Sub

اونت بالا اجرا نمیشه

دستی رفتم و تیک برنامه در بخش سکوریتی رو برداشتم چه تیک رو بذارم چه بردارم در رویداد

Sub Service_Start (StartingIntent As Intent)

وقتی startingintenet رو چک میکنم در هر دوحالت ( گذاشتن یا برداشتن تیک )

مقدار زیر رو داره

%D8%A6%D8%B3%D9%841.jpg

 

به نظرتون چرا رویداد مربوط به براادکستش اجرا نمیشه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

دوستان میخوام هنگام حذف برنامم توسط کاربر رمز عبور درخواست بشه

راهنمایی کنید ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

احتمال داره نسخه کتابخونتون پایین باشه و رویداد  OnRecieve  رو با یک پارامتر اضافه شناسایی نکنه.

شما رویداد رو به این صورت بنویسید :

Sub BroadcastReceiver_OnReceive (Action As String)
 ToastMessageShow("Disabled",False)
End Sub

و اگه براتون امکانش هست به دنبال Priority  مخصوصش بگردین.

مثلا برای تشخیص اتصال هندفری این اولویت رو قرار میدیم :

Broadcast.SetPriority(2147483647)

این دو مورد رو هم تست بزنید باز نتیجه نکرفتید اعلام کنید تا یک قیامی علیه این مورد انجام بدیم :دی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

اگه اون برنامه ای که میگید از برادکست استفاده میکنه ، من قبلا هم لیست برادکست ها رو به شما دادم ، بگردید توش ببینید میتونید پیدا کنید اون چیزی که میخواین رو...

http://stackoverflow.com/questions/4031740/where-is-the-all-android-broadcast-intent-list

تشکر از پاسخ خوبتون

بله برادکاستی به عنوان

android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED

موجود هست ولی هرچی سرچ میزنم نمونه سورسی براش پیدا نمیکنم میشه راهنمایی کنید چطور باید برنامه رو برای این برادکاست کانفیگ کنم ؟ اسم event ش چی هست ممنون میشم اگه اطلاعی دارین در اختیارم بذارید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من با سرچ کردن این کد رو پیدا کردم میتونید راهنمایی کنید چطور تو بیسیک معادل سازی میشه ؟
شرمنده

package com.androidsrc.sampledeviceadmin;
 
import android.app.admin.DeviceAdminReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
 
public class SampleDeviceAdminReceiver extends DeviceAdminReceiver {
 
   @Override
   public void onDisabled(Context context, Intent intent) {
      // TODO Auto-generated method stub
      Toast.makeText(context, "disabled dpm", Toast.LENGTH_SHORT).show();
      super.onDisabled(context, intent);
   }
 
   @Override
   public void onEnabled(Context context, Intent intent) {
      // TODO Auto-generated method stub
      Toast.makeText(context, "enabled dpm", Toast.LENGTH_SHORT).show();
      super.onEnabled(context, intent);
   }
 
   @Override
   public CharSequence onDisableRequested(Context context, Intent intent) {
      // TODO Auto-generated method stub
      Toast.makeText(context, "disable dpm request", Toast.LENGTH_SHORT)
            .show();
      return super.onDisableRequested(context, intent);
   }
 
}

Create a class PolicyManager.java, we

مثلا این بخش چطور در بیسیک اضافه میشه ؟

import android.app.admin.DeviceAdminReceiver;

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

واقعا ممنون

تشکر

متاسفانه جواب نداد :(

آخه این برنامه بسیار میتونه کاربردی باشه ولی در عجبم چرا تو سایت های انگلیسی هم برای بیسیک کدی ازش وجود نداره

فکر کنین وقتی بخوان تیک سکوریتی برنامه رو از بخش دسترسی مدیران بردارن ی صفحه رمز بیاد و رمز بخواد برا حذف نشدن قابلیت ادمین بودن برنامه توسط افراد غیر مجاز ، چقدر کاربردیه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

معادل بیسیکش به این صورته که باید یه سرویس ایجاد کنید و کتابخانه BrodCastReciver رو تیک بزنید.

بعد تعریفش:

Dim b As BroadCastReceiver

فعال سازیش:

Sub Service_Create
b.Initialize("b")
b.registerReceiver("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED") 'این کد شاید اضافه باشه
End Sub

و بعد ایجاد رویدادش که بفهمیم اتفاق رخ داده:

Sub b_onReceive (Action As String)
   اتفاق رخ داد
End Sub

توی همون سایتی که رفتین جاواش رو توضیح داده بود شاید دسترسی خاصی میخواد تا اضافه کنید ، اگه خواسته باید اضافه بشه.

البته کدهایی که به این صورت <receiver android:name داده منظورم نیست... اینا دسترسی نیستن ، همون رجیستر هست که ما انجام دادیم بالا.

 

اینم همین ماژول سرویس

لینک ارسال
به اشتراک گذاری در سایت های دیگر

معادل بیسیکش به این صورته که باید یه سرویس ایجاد کنید و کتابخانه BrodCastReciver رو تیک بزنید.

بعد تعریفش:

Dim b As BroadCastReceiver

فعال سازیش:

Sub Service_Create
b.Initialize("b")
b.registerReceiver("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED") 'این کد شاید اضافه باشه
End Sub

و بعد ایجاد رویدادش که بفهمیم اتفاق رخ داده:

Sub b_onReceive (Action As String)
   اتفاق رخ داد
End Sub

توی همون سایتی که رفتین جاواش رو توضیح داده بود شاید دسترسی خاصی میخواد تا اضافه کنید ، اگه خواسته باید اضافه بشه.

البته کدهایی که به این صورت <receiver android:name داده منظورم نیست... اینا دسترسی نیستن ، همون رجیستر هست که ما انجام دادیم بالا.

 

اینم همین ماژول سرویس

ممنون از پاسختون

مانیفستش به این صورت هست چطور به مانیفست بیسیک باید تبدیلش کرد

شرمنده

واقعا ممنون مطلب خوبی یاد گرفتم از پستتون

<receiver
    android:name=".SampleDeviceAdminReceiver"
    android:permission="android.permission.BIND_DEVICE_ADMIN" >
    <meta-data
        android:name="android.app.device_admin"
        android:resource="@xml/device_admin" />
 
    <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
    </intent-filter>
</receiver>
لینک ارسال
به اشتراک گذاری در سایت های دیگر

فعلا که به زیر کد b.registerReceiver اکشن های زیر رو اضافه کنید تست کنید ببینید به نتیجه میرسید یانه.

b.addAction("android.app.action.DEVICE_ADMIN_ENABLED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLED")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

عزیزم سرچ بزن خیلی در این مورد بحث شده

کار با اینتنتها هستش

 

 

شرمنده من فکر کردم میخواید باز کنید.

 

خوب همونطور که میدونید ما به اطلاعات برنامه های دیگه دسترسی نداریم.

 

چونکه مثل ویندوز هندل نداره ححححححح

لینک ارسال
به اشتراک گذاری در سایت های دیگر

پس چطور برنامه هایی مثل eset mobile security

خودشونو که دسترسی ادمین میکنن وقتی شما بخواین برین دسترسیشونو برداریم نمیذارن ؟

شما اطلاعی راجب این ندارین که برادکاستی برای این کار وجود داره یا نه ؟

اصلا هیچ برنامه ای ک با بیسیک نوشته شده باشه دیدین این امکان داشته باشه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

متاسفانه کار نکرد

کل کد سرویس :

#Region  Service Attributes 
	#StartAtBoot: False
	
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
Dim kk As AdminManager
Dim timer1 As Timer
Dim b As BroadCastReceiver
End Sub


Sub Service_Create
b.Initialize("b")
b.registerReceiver("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED") '
b.addAction("android.app.action.DEVICE_ADMIN_ENABLED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
b.addAction("android.app.action.DEVICE_ADMIN_DISABLED")
End Sub



Sub Service_Start (StartingIntent As Intent)
timer1.Initialize("timer1",1000)
timer1.Enabled = True
'kk.LockScreen
'kk.Enable("errorrrr")
ToastMessageShow(StartingIntent.Action,True)

End Sub

Sub timer1_tick()
	 
End Sub

Sub Service_Destroy

End Sub

Sub b_onReceive (Action As String)
   ToastMessageShow("disabling",False)
   ToastMessageShow(Action,False)
   
End Sub


لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

اگه اون برنامه ای که میگید از برادکست استفاده میکنه ، من قبلا هم لیست برادکست ها رو به شما دادم ، بگردید توش ببینید میتونید پیدا کنید اون چیزی که میخواین رو...

http://stackoverflow.com/questions/4031740/where-is-the-all-android-broadcast-intent-list

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

بنده زیاد توی این زمینه تجربه ای ندارم و تا حالا هم دنبالش نبودم

ولی خب چیزی رو که طی تحقیقاتی که انجام دادم رو بهتون می گم.

 

این کد رو در نظر بگیرید ( کد های مانیفستی که خودتون قرار دادید ):

<receiver
    android:name=".SampleDeviceAdminReceiver"
    android:permission="android.permission.BIND_DEVICE_ADMIN" >
    <meta-data
        android:name="android.app.device_admin"
        android:resource="@xml/device_admin" />
 
    <intent-filter>
        <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
    </intent-filter>
</receiver>

شما در ابتدا باید توی مانیفست این پرمیشن رو اضافه کنید :

"android.permission.BIND_DEVICE_ADMIN"

در ادامه گفته شده که از ریسورسی به اسم device_admin  استفاده شده که خودتون بهتر از بنده می دونید برای ایجاد دسترسی ادمین هستش.خب در ادامه یک Intent Filter  داریم که باید به وسیله تگ AddRecieverText  در مانیفست که اسم سرویس و اکشن های مورد نظر رو وارد می کنیم.

یعنی این ( با پرمیشن خواسته شده ):

AddPermission(android.permission.BIND_DEVICE_ADMIN)
AddReceiverText(ServiceName, 
<Intent-filter>
         <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
        <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
</Intent-filter>)

تا اینجای کار با مانیفست کار داشتیم.

خب از اینجا به بعد با سرویس کار داریم :

Sub Process_Globals
Dim Broadcast As BroadCastReceiver
End Sub

Sub Service_Create
 Broadcast.Initialize("BroadcastReceiver")
End Sub

Sub Service_Start (StartingIntent As Intent)
   Broadcast.addAction(""android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED")
   Broadcast.registerReceiver("")
End Sub

Sub BroadcastReceiver_OnReceive (Action As String , i As Object)
 ToastMessageShow("Disabled",False)
End Sub

Sub Service_Destroy

End Sub

این کدهارو قرار بده و تست کن.

نتیجه رو هم اعلام کنید.

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...