1
在我的應用程序中,我需要阻止短信,電子郵件和電話。我沒有檢測到incoming or outgoing calls or sms
。簡單地說,我有一個服務將在後臺運行,並檢查是否有任何三個進程正在運行。如果他們正在運行,那麼當用戶點擊撥號程序或短信應用程序時,我的活動將打開。到目前爲止,我已經盡力了,我下面張貼:Android:如何限制特定的應用程序
服務類
public class DialerService extends Service {
ActivityManager am;
List<RunningAppProcessInfo> mAppProcessInfosList;
private Runnable myRunnable;
boolean threadDone = true;
Handler mHandler;
boolean isLockedAppRunning = false;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
public void onCreate() {
am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
mAppProcessInfosList = new ArrayList<ActivityManager.RunningAppProcessInfo>();
mHandler = new Handler();
Log.v("Dialer Service", "onCreate called");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
myRunnable = new Runnable() {
@Override
public void run() {
isRestrictedAppRunning();
}
};
new Thread(new Runnable() {
public void run() {
while (threadDone) {
try {
mHandler.post(myRunnable);
} catch (Exception e) {
}
}
}
}).start();
return START_STICKY;
}
private void isRestrictedAppRunning() {
mAppProcessInfosList = am.getRunningAppProcesses();
for (int i = 0; i < mAppProcessInfosList.size(); i++) {
if (mAppProcessInfosList.get(i).processName
.equals("com.android.phone")
|| mAppProcessInfosList.get(i).processName
.equals("com.android.email")
|| mAppProcessInfosList.get(i).processName
.equals("com.android.mms")) {
isLockedAppRunning = true;
Intent dialogIntent = new Intent(getBaseContext(),
TestActivity.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
}
}
}
@Override
public void onDestroy() {
super.onDestroy();
this.threadDone = false;
}
}
此代碼工作,但它有以下問題:
它會阻止所有的應用程序,而我的要求只限制那些我列出的應用程序阻止。例如,如果我阻止了電話和短信,我的活動應該只在點擊撥號程序和短信應用程序時打開,而不是當我點擊地圖時打開。
我沒有得到如何做到這一點。
堆棧溢出不是尋找開發人員合同工作的最佳位置。 – mah 2013-04-25 10:39:04
@mah我也不是在這裏爲我的工作簽署合同,只是討論我遇到的問題,以便其他人可以發表他們的意見,並幫助我指出我錯過的地方。 – Nitish 2013-04-25 10:49:25
請閱讀http://stackoverflow.com/faq上的堆棧溢出常見問題,並且請理解這不是討論論壇。很明顯,你不是在尋找聘請承包商,但是你的問題是(在我看來,其他人可能會不同意)在這裏張貼深度。 – mah 2013-04-25 10:54:55