是否有可能在android中接收强制停止事件?

时间:2014-03-27 08:13:36

标签: android service broadcastreceiver

我创建了一个使用service在后台运行的应用程序。 如果用户将进入

Setting---> Application --> Manage Application --> Click on App ---> Click on Force Stop.

我想收到申请(套餐)的Force停止事件。

我该怎么做?

这是我尝试过的。

@Override
public void onReceive(Context arg0, Intent arg1) {
    String action=arg1.getAction();
    String [] packageNames = arg1.getStringArrayExtra("android.intent.extra.PACKAGES");
    if(packageNames!=null){
        for(String packageName: packageNames){
            Toast.makeText(arg0, "Package name : "+packageName, Toast.LENGTH_LONG).show();
            if(packageName!=null && packageName.equals("com.bitgriff.androidcalls")){
                Toast.makeText(arg0, "Package is : "+packageName, Toast.LENGTH_LONG).show();
            }
        }
    }}

当我点击Manage Application时,这会给我包名。 但我只在Android 2.x版上获得它。

我想为自己的应用程序获取Force Stop事件。

以下是我在清单文件中添加的权限。

<receiver android:name="demo.receivers.PackageChangeReceiver" >
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_CHANGED" />
                <action android:name="android.intent.action.PACKAGE_INSTALL" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_REPLACED" />
                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
                <action android:name="android.intent.action.PACKAGE_RESTARTED" />
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DELETE" />
                <action android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
                <action android:name="android.intent.action.USER_PRESENT" />
                <data android:scheme="package" />
            </intent-filter>
        </receiver>

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

我不认为您可以获得自己的应用程序的通知,但是您可以编写第二个将接收该事件的应用程序,并使用shareUserId您可以在主应用程序中处理该事件

看这里https://stackoverflow.com/a/22612093/849939