我想寫一個BroadcastReceiver來接收應用程序安裝操作。但它失敗了,所以我測試了我的接收器是否正常。所以定製一個意圖,它也提交了。下面是我的代碼。請幫我糾正它。 公共類MyInstallReceiver擴展廣播接收器{// 公共MyInstallReceiver(){// }BroadcastReceiver無法接收意圖
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show();
Log.d("receiver", "Intent Detected");
if (intent.getAction(). equals ("android.intent.action.PACKAGE_ADDED")) {
String packageName = intent.getDataString();
//System.out.println ("installed:" + packageName + "package name of the program");
Log.d("receiver","installed:" + packageName + "package name of the program");
}
}
}
定製意圖
public void installAPK(View v){
startActivity(intent);
Intent intent = new Intent();
intent.setAction("com.tutorialspoint.CUSTOM_INTENT");
sendBroadcast(intent);
Log.d("receiver", "Intent sent");
}
的Manifest.xml
<receiver
android:name=".MyInstallReceiver"
android:enabled="true"
android:exported="true" >
<Intent-filter>
<action android:name = "android.intent.action.PACKAGE_ADDED"/>
<action android:name = "android.intent.action.PACKAGE_REMOVED"/>
<action android:name="com.tutorialspoint.CUSTOM_INTENT">
</action>
<Data android:scheme = "package" />
</Intent-filter>
</receiver>
enter code here
您是否在清單文件中聲明瞭您的'BroadCastReceiver' – bGorle
什麼是您的應用程序包名稱和MyInstallReceiver包名稱 –
@bGorle代碼的第三方是清單。我懷疑它是否正確。 – Eva