Android:接收系统ACTION_PACKAGE_RESTARTED发送的意图

时间:2011-05-12 08:53:23

标签: android broadcastreceiver

我是android新手。我完全陷入在我的应用程序中使用ACTION_PACKAGE_RESTARTED

我已经从我的模拟器中移除了pacakge,也使用了adb install添加但没有得到任何结果。启动应用。关闭那个并再次启动该应用程序。似乎没有什么对我有用。 logcat没有登录。

有什么我想念的吗?请帮忙

public class RestartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    String action= intent.getAction();
    Log.i("D", "Inside receiver");
}

这是清单文件

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <receiver android:name=".ReceiverTest">
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_REMOVED" />
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.ACTION_PACKAGE_RESTARTED" />
        </intent-filter>
    </receiver>

</application>

2 个答案:

答案 0 :(得分:1)

意图过滤器中指定的值不正确..实际值为

<action android:name="android.intent.action.PACKAGE_RESTARTED" />

此广播只能收到其他套餐。重新启动的应用程序/包不会收到此广播。

答案 1 :(得分:0)

您应该向intent-filter添加数据规范:

function getCategoryRelatedData(){
    console.log('getCategoryRelatedData...');
    return $.ajax(/* what ever you want to do*/);
}

function getInvoiceRelatedData(){
    console.log('getInvoiceRelatedData...');
    var alert_s=$("input[name='invoiceid']:checked").val();
    alert(alert_s);//
}

$(document).ready(function(){
    getCategoryRelatedData().promise().done(getInvoiceRelatedData);
});