1
我有一個問題..我的軟件包名稱是com.dd.batterystats
,但是當我編譯應用程序並安裝它時,軟件包名稱更改爲com.dd.batterystats-1
..這對我來說是個問題,因爲我有啓動服務來啓動通知。當然,現在我得到一個錯誤: Didn't find class "com.dd.batterystats.MyScheduleReceiver" on path: /data/app/com.dd.batterystats-1
爲什麼在安裝過程中軟件包名稱會改變? 編輯:爲什麼我在安裝應用程序時更改包名?
這是清單的一部分: 當然首先:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
然後
<receiver android:name="MyScheduleReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name="service" >
</service>
而這裏service.java
public class service extends Service {
NotificationManager mNotificationManager;
@Override public IBinder onBind(Intent intent) {
// Not used
return null;
}
@Override public void onCreate() {
super.onCreate();
mNotificationManager= (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
checkPref();
}
@Override
public void onDestroy() {
super.onDestroy();
}
private void checkPref(){
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
service.this);
notificationBuilder.setContentTitle("Title");
notificationBuilder.setContentText("Context");
notificationBuilder.setTicker("TickerText");
notificationBuilder.setWhen(System.currentTimeMillis());
notificationBuilder.setSmallIcon(R.drawable.ic_stat_icon);
Intent notificationIntent = new Intent(this, service.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent, 0);
notificationBuilder.setContentIntent(contentIntent);
notificationBuilder.setDefaults(Notification.DEFAULT_SOUND
| Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE);
mNotificationManager.notify(1,
notificationBuilder.build());
} }
這裏MyScheduleReceiver。 java
public class MyScheduleReceiver extends BroadcastReceiver {
// Restart service every 30 min
private static final long REPEAT_TIME = 30*1000*4;//1800000 ;
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, service.class);
context.startService(service);
}}
Android只是更改apk名稱,而不是包名稱。 您的問題在您的應用程序內,請提供更多信息 –
編輯該問題。 –
更改IDE中的Java包,確保MyScheduleReceiver位於正確的包中。你應該添加一個。在名稱前面,這將使它將包名稱添加到接收者名稱中,如: –